package com.chc.utils;

import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

import java.util.HashMap;
import java.util.Map;

/**
 * Created with IntelliJ IDEA
 *
 * @Author: chc
 * @Date: 2021/12/24/23:30
 * @Description:
 */
@NoArgsConstructor
@AllArgsConstructor
public class Msg {
    //状态码   100-成功    200-失败
    private int code;
    //提示信息
    private String msg;

    //用户要返回给浏览器的数据
    private Map<String,Object> extend = new HashMap<>();

    public static Msg success(){
        Msg result = new Msg();
        result.setCode(200);
        result.setMsg("处理成功");
        return result;
    }
    public static Msg error(){
        Msg result = new Msg();
        result.setCode(500);
        result.setMsg("处理失败");
        return result;
    }
    public static Msg success(String success){
        Msg result = new Msg();
        result.setCode(200);
        result.setMsg(success);
        return result;
    }
    public static Msg success(String success,Object data){
        Msg result = new Msg();
        result.setCode(200);
        result.setMsg(success);
        result.add("list",data);
        return result;
    }

    public static Msg error(String error){
        Msg result = new Msg();
        result.setCode(500);
        result.setMsg(error);
        return result;
    }

    public static Msg error(String error,Integer code){
        Msg result = new Msg();
        result.setCode(code);
        result.setMsg(error);
        return result;
    }

    public static Msg error(String error,Integer code,Object data){
        Msg result = new Msg();
        result.setCode(code);
        result.setMsg(error);
        result.add("list",data);
        return result;
    }

    public Msg add(String key,Object value){
        this.getExtend().put(key, value);
        return this;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Map<String, Object> getExtend() {
        return extend;
    }

    public void setExtend(Map<String, Object> extend) {
        this.extend = extend;
    }
}
